package Action;

import Forms.UsuarioForm;
import beans.Nodo;
import beans.Usuario;
import hibernate.UsuarioBD;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author Antonio
 */
public class LoginAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        //Recuperamos el form y el bean del form
        UsuarioForm usuarioForm = (UsuarioForm)form;
        Usuario usuario = usuarioForm.getUsuario();
        UsuarioBD usuarioBD = new UsuarioBD(usuario);
        Nodo nodoUsuario;
        
        //Si el usuario no existe se queda en la misma página
        //y se informa del fallo
        if(!usuarioBD.registrado())
        {
            request.setAttribute("mal", true);
            return mapping.findForward("fallo");
        }
        else //Sino se recupera el usuario, su nodo, se añaden en sesion y se va a la
             // página principal
        {
            usuario = usuarioBD.recuperaUsuario();
            nodoUsuario = usuario.getNodo();
            request.getSession().setAttribute("usuarioActual", usuario);
            request.getSession().setAttribute("nodoActual", nodoUsuario);
            
            return mapping.findForward("ok");
        }
        
    }

    
   
}
